HTTP সেশন একটি প্রক্রিয়া যা ব্যবহারকারীদের জন্য স্টেটফুল অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। এটি ব্যবহারকারীর তথ্য সংরক্ষণ করে, যাতে পরবর্তী রিকোয়েস্টে সেই তথ্য ব্যবহার করা যায়।
Laravel-এ সেশন কনফিগারেশন config/session.php
ফাইলে করা হয়। এখানে আপনি সেশন ড্রাইভার, লাইফটাইম এবং অন্যান্য সেটিংস কাস্টমাইজ করতে পারবেন।
'driver' => env('SESSION_DRIVER', 'file'),
'path' => '/',
'lifetime' => 120,
Laravel বিভিন্ন সেশন ড্রাইভার সমর্থন করে, যেমন:
ড্রাইভার ব্যবহার করতে চাইলে সংশ্লিষ্ট ড্রাইভারটির কনফিগারেশন ঠিকমত করতে হবে।
তথ্য পুনরুদ্ধার করা
সেশনে সংরক্ষিত তথ্য পুনরুদ্ধার করতে session()
ফাংশন বা Session
ফ্যাসেড ব্যবহার করা হয়:
$value = session('key');
// অথবা
$value = Session::get('key');
তথ্য সংরক্ষণ করা
তথ্য সেশনে সংরক্ষণ করতে:
session(['key' => 'value']);
// অথবা
Session::put('key', 'value');
ফ্ল্যাশ ডেটা ব্যবহার করা হয় যখন আপনি কিছু তথ্য একবারের জন্য সেশন মধ্যে রাখতে চান। এটি সাধারণত রিডাইরেক্টের পর ব্যবহৃত হয়:
session()->flash('status', 'Task was successful!');
// অথবা
Session::flash('status', 'Task was successful!');
সেশন থেকে তথ্য মুছতে:
session()->forget('key');
// অথবা
Session::forget('key');
সেশন আইডি পুনর্জন্ম
যদি আপনি সেশনের আইডি পরিবর্তন করতে চান (যেমন সেশন হাইজ্যাকিং প্রতিরোধে), আপনি regenerate
মেথড ব্যবহার করতে পারেন:
$request->session()->regenerate();
কিছু ক্ষেত্রে আপনি চাইতে পারেন যে ব্যবহারকারীরা একসাথে একাধিক সেশন ব্যবহার না করতে পারে। এটি সেশন ব্লকিং নামকরণ করা হয়, যা কাস্টম ইমপ্লিমেন্টেশন দ্বারা করা যায়।
ড্রাইভার ইমপ্লিমেন্ট করা
আপনার কাস্টম সেশন ড্রাইভার তৈরি করতে হলে, প্রথমে একটি ক্লাস তৈরি করুন যা SessionHandlerInterface
ইন্টারফেস ইমপ্লিমেন্ট করে।
use SessionHandlerInterface;
class CustomSessionHandler implements SessionHandlerInterface {
// আপনার কাস্টম মেথডগুলি এখানে
}
ড্রাইভার নিবন্ধন করা
আপনার কাস্টম ড্রাইভারটি নিবন্ধন করতে AppServiceProvider
ক্লাসের boot
মেথডে Session::extend
ব্যবহার করুন:
use Illuminate\Support\Facades\Session;
public function boot()
{
Session::extend('custom', function ($app) {
return new CustomSessionHandler();
});
}
HTTP সেশন ব্যবহার করে আপনি ব্যবহারকারীর তথ্য সংরক্ষণ ও পরিচালনা করতে পারেন, যা স্টেটফুল অ্যাপ্লিকেশন তৈরিতে সহায়ক। লারাভেলের সেশন ব্যবস্থাপনা ব্যবহার করে আপনি সহজেই সেশন তথ্য পুনরুদ্ধার, সংরক্ষণ এবং মুছে ফেলতে পারেন।
Read more